#pragma once
#include <string>
#include <list>

using namespace std;

class FilerFrogFilesListSorter
{
private:
	list<wstring> m_filesList;
public:
	FilerFrogFilesListSorter(list<wstring>& filesList);
	~FilerFrogFilesListSorter();

	void SortListRandom(list<wstring>& retVal);
	void SortListByName(list<wstring>& retVal);
	void SortListFileDate(list<wstring>& retVal);

private:

	// file paths comparison, not case sensitive.
	static bool CompareFilePaths(wstring first, wstring second);
	// FILETIME comparison.
	static bool CompareFileTimes(wstring first, wstring second);
};
